perm filename TESOFT.VLI[VLI,LSP] blob sn#382072 filedate 1978-09-08 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 SORTL LASTER EDITL EDITP 
C00005 ENDMK
CāŠ—;
; SORTL LASTER EDITL EDITP ;

(DE SORTL (L ;; S X)
    (SETQ S (APPEND L))
    (MAP S (LAMBDA (SL) (AND (CDR L)
	(MAP (CDR SL) (LAMBDA (SL1)
	(OR (SORT (CAR SL) (CAR SL1))
	    (PROGN (SET 'X (CAR SL) SL (CAR SL1))
		(RPLACA SL1 X)))))))) S ))) )))


 
(DE LASTER () (TTAB 13)(PRINC * 49) (TERPRI))
 
(DE EDITL (L N LIB ;; E *)
    (SETQ * '* N (SUB1 N))
    (WHILE T
	(PAGE) (TTAB 20) (APPLY 'PRINT LIB)
	(REPEAT 3 (TERPRI)) (LASTER)
	(REPEAT (ADD1 N)
	    (TTAB 12)(PRIN1 * (CAR L))
	    (TTAB 24)(PRIN1 *)
	    (AND (SETQ E (CNTH N L))(PRIN1 E))
	    (TTAB 36) (PRIN1 *)
	    (AND (SETQ E (CNTH (PLUS N N) L)) (PRIN1 E))
	    (TTAB 48) (PRIN1 *)
	    (AND (SETQ E (CNTH (TIMES N 3) L)) (PRIN1 E))
	    (TTAB 60) (PRINT *)
	    (OR (NEXTL L) (LESCAPE (LASTER))))
	(SETQ L (NTH (TIMES N 3) L))
	(LASTER) (OR L (LESCAPE))))) )))
 
(DE EDITYP (TYP ;; L)
    (SETQ L (MAPCT (OBLIST) (LAMBDA (A)
	(AND (EQ (TYPEFN A) TYP) A))))
    (EDITL (SORTL L) 50 (EXPLODE TYP))) ))) )))
 
(DE EDITATOM ( ;; L)
	; fait une belle liste des atomes ;
	(SETQ L (MAPCT (OBLIST) (LAMBDA (X) (AND (TYPEFN X) X))))
	(SETQ L (SORTL L))
	(SETQ N 0)
	(MAPC L (LAMBDA (X)
	   (PRIN1 (INCR N)) 
	   (TTAB 8)
	   (PRIN1 X)
	   (TTAB 23)
	   (PRIN1 (TYPEFN X))
	   (SELECTQ (TYPEFN X)
		(SUBR
		  (AND (MEMQ (SETQ Z
			(SUB1 (LOGSHIFT 
				(STATUS 41 (PLUS (STATUS 42 1) 4 (LOC X)))
				-18)))
				'(0 1 2 3))
		     (PRIN1 'with Z 'arg)))
		(AUTOLOAD (PRIN1 'in 'file 
                  (VAG (LOGAND (STATUS 41 (+ (+ (STATUS 42 1) 5) (LOC X)) )
				\377777)   )))
		( () ))
	   (TERPRI))
)))

(PRINT "Essaie (EDITATOM).")